home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / COMAL / A-COMAL Series / (k)aan.d64 / txt.printer pack < prev    next >
Text File  |  2007-02-28  |  5KB  |  202 lines

  1. BY ╟LEN ├OLBERT
  2.  
  3. ╘HIS IS THE PRINTER PACKAGE DESIGN
  4. KIT FOR ├╧═┴╠ 80 V2.0 AND THE
  5. ├OMMODORE 64. ┬EFORE GOING CRAZY
  6. WORRYING ABOUT ALL OF THE POOR CODE,
  7. PLEASE READ THE EXPLANATION FOR THE
  8. PACKAGE. ╘HIS IS AN UNFINISHED,
  9. ONGOING PROJECT THAT NEEDS YOUR
  10. SUPPORT AND INPUT TO MAKE IT WORK. ╔F
  11. YOU CAN CONTRIBUTE YOUR SKILLS,
  12. PLEASE DO SO.
  13.  
  14. ├╧╬├┼╨╘:
  15.  
  16. ╘HE CONCEPT BEHIND A STANDARDIZED
  17. PRINTER PACKAGE IS TO HAVE A UNIFIED
  18. SET OF PRINTER INSTRUCTIONS WHICH
  19. WILL ALLOW THE USE OF SPECIAL PRINTER
  20. COMMANDS, GRAPHIC SCREEN DUMPS, AND
  21. CUSTOM FONTS IN ANY PROGRAM WITHOUT
  22. HAVING TO WRITE SPECIAL VERSIONS OF
  23. THE MAIN PROGRAM FOR EACH PRINTER. ╘O
  24. ACCOMPLISH THIS, A PRINTER PACKAGE
  25. SHOULD BE DESIGNED FOR EACH TYPE OF
  26. PRINTER. ╘HE USER WOULD THEN LINK THE
  27. APPROPRIATE PACKAGE TO MATCH THAT
  28. PRINTER AND RUN THE PROGRAM.
  29.  
  30. ╙EVERAL THINGS SHOULD BE KEPT IN MIND
  31. WHILE WORKING ON A PRINTER PACKAGE.
  32. ╞IRST, EVERY EFFORT SHOULD BE MADE TO
  33. ENSURE THAT THE ROUTINES YOU WRITE AS
  34. A PART OF THE PACKAGE SHOULD BE AS
  35. FUNCTIONALLY IDENTICAL TO THOSE IN
  36. THE ORIGINAL PACKAGE AS IS POSSIBLE.
  37. ╙ECOND, IF THE PRINTER THAT YOU ARE
  38. WORKING ON DOESN'T SUPPORT AND/OR
  39. CAN'T SIMULATE ONE OF THE FUNCTIONS
  40. IN THE PACKAGE THEN A CHANGE OF STATE
  41. SHOULD OCCUR ANYWAY. ╨OSSIBLE
  42. EXCEPTIONS TO THIS MIGHT BE A CALL TO
  43. A GRAPHICS DUMP ON A LETTER QUALITY
  44. PRINTER. ╔N THESE EXCEPTIONS, IT MAY
  45. BE WISE TO GENERATE A NOT IMPLEMENTED
  46. ERROR:
  47.  
  48.  ╠─╪ #57
  49.  ╩╙╥ ╥╒╬┼╥╥
  50.  
  51. ═┴╦╔╬╟ ├╚┴╬╟┼╙:
  52.  
  53. ╘HE CURRENT CODE IS NOT THE BEST, AND
  54. YOU MAY FIND REASON TO MODIFY
  55. SECTIONS OF IT. ╔F YOU DO, ╨╠┼┴╙┼
  56. SEND ME A COPY OF THE CHANGES
  57. (PRINTED LISTING IS OK) AND THE
  58. REASON FOR THEM. ╔ HAVE STOLEN MANY
  59. OF THE ROUTINES IN THIS PACKAGE FROM
  60. OTHERS AND WOULD LIKE TO THANK THEM
  61. FOR THEIR CONTRIBUTIONS.
  62. ╒NFORTUNATELY, ╔ CAN'T REMEMBER WHAT
  63. IS WHO'S TO GIVE PROPER CREDIT. ╔F
  64. YOU FIND SOMETHING OF YOURS, LET ME
  65. KNOW WHERE IT IS AND WE WILL INSERT A
  66. PROPER CREDIT IN THE CODE.
  67.  
  68. ╟╠┼╬ ├╧╠┬┼╥╘
  69. 4450 ╫. 4955 ╙.
  70. ╙ALT ╠AKE ├ITY, ╒╘ 84118
  71.  
  72. ═┴╩╧╥ ╙┼├╘╔╧╬╙:
  73.  
  74. ╘HERE ARE THREE MAJOR SECTIONS IN
  75. THIS PACKAGE. ╘HESE ARE:
  76.  
  77. 1. ╟RAPHICS CHARACTERS TO THE PRINTER
  78. 2. ╟RAPHICS DUMPS
  79. 3. ╨RINTER COMMANDS
  80.  
  81. ╘HE PRINTER COMMANDS SHOULD STAND BY
  82. THEMSELVES, SO ╔ PUT THEM IN A
  83. SEPARATE PACKAGE. ╘O LINK THE
  84. COMMANDS THAT YOU NEED INTO THE
  85. PACKAGE, MODIFY THE DATA TABLE IN THE
  86. PRINTER SPECIFIC LIBRARY TO MATCH THE
  87. COMMAND SEQUENCE FOR YOUR PRINTER.
  88. ╘HE FIRST BYTE IS THE NUMBER OF
  89. CHARACTERS IN THE COMMAND. ╘HIS IS
  90. FOLLOWED BY THE COMMAND ITSELF.
  91.  
  92. ╘HE ╙╬─╟╥╞ SUBROUTINE IN THE PRINTER
  93. SPECIFIC FILE SENDS AN 8 BYTE
  94. GRAPHICS IMAGE OF A CHARACTER TO THE
  95. PRINTER.
  96.  
  97. ─┼╬╙╔╘ IS SET WHEN THE DENSITY(X)
  98. PROCEDURE IS CALLED. ╔T IS SET FOR
  99. DOUBLE DENSITY PRINTING OF THE
  100. CHARACTERS, ETC.
  101.  
  102. ╘HE 0 AND 1 SCREEN DUMPS USE TWO
  103. ROUTINES IN THE PRINTER SPECIFIC
  104. FILE. ╘HESE ARE ╙╬─┬╞┴ AND ╙╬─┬╞┬.
  105. ╘HESE ROUTINES SEND A BUFFER OF
  106. GRAPHIC DATA TO THE PRINTER. ╘HE
  107. BUFFERS ARE 320 BYTES LONG.
  108.  
  109. ╧NE THING THAT THE PACKAGE
  110. DESPERATELY NEEDS IS A MULTI-COLOR
  111. DUMP. ╔F YOU WRITE A MULTI-COLOR
  112. DUMP, PLEASE HAVE IT STORE THE DATA
  113. IN ┬╒╞╥┴ AND/OR ┬╒╞╥┬, SENDING IT TO
  114. THE PRINTER WITH CALLS TO
  115. ╙╬─┬╞┴/╙╬─┬╞┬. ╘HIS WAY, OTHERS WILL
  116. BE ABLE TO EASILY MODIFY THEIR
  117. PACKAGES TO INSTALL THE NEW DUMP. 
  118.  
  119. ╬OTE: ╘HERE ARE THREE SOURCE FILES ON
  120. ╘ODAY ─ISK #17. ╘HEY CAN BE ASSEMBLED
  121. WITH THE ├OMMODORE ASSEMBLER. ┘OU
  122. WILL ALSO NEED THE ╙┘═┬╙ FILE FROM
  123. THE MATCHING DISK TO EITHER ─AVID
  124. ╙TIDOLPH'S ╨ACKAGE ╠IBRARY ┬OOK ╓OL
  125. 1, OR ╩ESSE ╦NIGHT'S ├╧═┴╠ 2.0
  126. ╨ACKAGES ┬OOK.
  127.  
  128. ╙RC.PRINTER IS THE MAIN SOURCE FILE.
  129. ╒SE THIS FILE NAME WHEN ASKED WHICH
  130. FILE YOU ARE ASSEMBLING. ═OST OF THIS
  131. CODE SHOULD BE TRANSPORTABLE TO
  132. PRINTER PACKAGES FOR OTHER PRINTERS.
  133. ╙RC.PRINTER USES THE FOLLOWING TWO
  134. FILES AS LIBRARY FILES.
  135.  
  136. ╙RC.CUSTOMDUMP IS THE GRAPHICS SCREEN
  137. DUMP ROUTINE. ╘HERE IS A HI-RES
  138. SCREEN DUMP SPECIFIC TO THE GEMINI
  139. PRINTER. ╚EADER INFORMATION IS
  140. INCLUDED FOR A MULTI-COLOR DUMP, BUT
  141. THE CODE IS NOT IMPLEMENTED.
  142.  
  143. ╙RC.GEMINI CONTAINS THE
  144. PRINTER'COMMANDS PROCEDURES. ╘HE
  145. CODES TO IMPLEMENT THESE PROCEDURES
  146. ARE SPECIFIC TO THE GEMINI PRINTER,
  147. BUT SHOULD BE EASILY ALTERED FOR
  148. OTHER PRINTERS.
  149.  
  150. ╘HESE FILES CAN BE ASSEMBLED INTO ONE
  151. OBJECT FILE. ╨KG.GEMINI IS ON ╘ODAY
  152. ─ISK #17, BUT YOU SHOULD RENAME THIS
  153. TO THE NAME OF YOUR PRINTER IF YOU
  154. MODIFY THE PACKAGE. ╘HIS FILE IS A
  155. SINGLE MODULE WHICH CONTAINS TWO
  156. PACKAGES. ╘HE PACKAGE NAMES AND
  157. PROCEDURES ARE LISTED BELOW. ┘OU MUST
  158. ISSUE THESE COMMANDS BEFORE TRYING
  159. ANY OF THE PROCEDURES:
  160.  
  161. ╠╔╬╦ "PKG.GEMINI"
  162. ╒╙┼ PRINTER
  163. ╒╙┼ PRINTER'COMMANDS
  164.  
  165. PACKAGE PRINTER:
  166.      SCREEN'DUMP(INT)
  167.      CBM'CHARACTERS(INT)
  168.      HEX'DUMP(INT)
  169.      SETPRINTER(STR)
  170.      SET'REVERSE(INT)
  171.      HARDCOPY(STR)
  172.      GETSCREEN(╥┼╞ STR)
  173.      SETSCREEN(╥┼╞ STR)
  174.      DENSITY(INT)
  175.  
  176. PACKAGE PRINTER'COMMANDS:
  177.      BEEP
  178.      BACKSPACE
  179.      ENLARGE
  180.      UNENLARGE
  181.      CONDENSE
  182.      UNCONDENSE
  183.      UNDERLINE
  184.      UNDERLINE'OFF
  185.      EMPHASIZE
  186.      UNEMPHASIZE
  187.      BOLD
  188.      UNBOLD
  189.      ELITE
  190.      PICA
  191.      SUPERSCRIPT
  192.      ENDSCRIPT
  193.      SUBSCRIPT
  194.      REVERSE
  195.      REVERSE'OFF
  196.      ITALICS
  197.      ITALICS'OFF
  198.      SPACING'1'6
  199.      SPACING'1'8
  200.      FORMFEED
  201.      RESET'PRINTER
  202.